<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>



  
  
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">


  


  
  
  
<!-- Terminology: owned and borrowed, vs owned and non-owned? -->
<!-- NEED NAME FOR TECHNIQUE, NOT JUST LANGUAGE: -->
<!--    "BORROWER COUNTING"? -->
<!--    Some bank lending analogy??-->

  <title>Safe Ownership-Based Memory Management</title>
  <meta content="Adam Dingle" name="author">



  
  
  <style type="text/css">
h1 { font-size: 18pt;
font-weight: bold;
font-family: Arial,Helvetica,sans-serif;
text-align: center;
}
.author { font-family: Arial,Helvetica,sans-serif;
font-size: 12pt;
text-align: center;
}
address { text-align: center;
font-family: Arial,Helvetica,sans-serif;
font-size: 10pt;
font-style: normal;
}
body {
font-size: 9pt;
}
h2 { font-family: Times New Roman,Times,serif;
font-size: 12pt;
font-weight: bold;
}
h3 { font-family: Times New Roman,Times,serif;
font-size: 12pt;
font-weight: bold;
}
h4 { font-family: Times New Roman,Times,serif;
font-size: 11pt;
font-style: italic;
font-weight: normal;
}
  </style>
</head>


<body>



<div class="author">Adam Dingle<br>



</div>



<!-- Change this to a "work done at Google" footnote in the final version -->
<address>Google<br>



1600 Amphitheatre Parkway<br>



Mountain View, CA&nbsp; 94043<br>



+1 415 425 6891<br>



</address>



<div class="author">adamdingle@gmail.com</div>


<!-- Omit these for submission; take up too much space: -->

<h2>Categories and Subject Descriptors</h2>



D.3.3 [<span style="font-weight: bold;">Programming
Languages</span>]: Language Constructs and Features -- <span style="font-style: italic;">dynamic storage management</span>;
D.2.4 [<span style="font-weight: bold;">Software
Engineering</span>]: Software/Program Verification<br>



<h3>General Terms</h3>



Design, Experimentation, Languages, Performance
<h3>Keywords</h3>



memory management, type safety, ownership, garbage collection

<!-- End omit -->

<h3>Acknowledgements</h3>



<p>I'd like to thank Linus Upson for his invaluable feedback and
encouragement throughout my work on Gel at Google. &nbsp;David
Bacon
provided further encouragement and pointed me to various related work.
&nbsp;Discussions with Paul Haahr were also useful. &nbsp;Feng
Qian
ported the Gel compiler from Windows to Linux. &nbsp;Many thanks
are
due to Google for allowing me to release the Gel compiler as open
source.</p>

</body>
</html>
